package cloudInformation.mapper;


import cloudEntity.dto.user.SmartUserMoralEducationDetailsUpdateDTO;
import cloudEntity.vo.user.SmartUserMoralEducationDetailsVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import cloudEntity.dto.user.SmartUserMoralEducationDetailsDTO;

/**
 * 智慧校园用户德育明细表(SmartUserMoralEducationDetails)表数据库访问层
 *
 * @author makejava
 * @since 2025-04-14 08:35:35
 */
@Mapper
public interface SmartUserMoralEducationDetailsMapper {

    /**
     * 根据 uid 获取 学生 德育明细列表
     * @param uid uid
     * @return 返回 学生的德 育 明细 列表
     */
    List<SmartUserMoralEducationDetailsVO> getMoralEducationDetails(@Param("uid") String uid);

    /**
     * 新增 用户 德育 明细
     * @param smartUserMoralEducationDetailsDTO 用户 德育明细 DTO 实体类
     * @return 返回 1 或 0
     */
    Integer insertEducationDetails(SmartUserMoralEducationDetailsDTO smartUserMoralEducationDetailsDTO);

    /**
     * 修改 用户 德育 明细
     * @param smartUserMoralEducationDetailsUpdateDTO 用户 德育明细 DTO 实体类
     * @return 返回 1 或 0
     */
    Integer updateEducationDetails(SmartUserMoralEducationDetailsUpdateDTO smartUserMoralEducationDetailsUpdateDTO);

    /**
     * 获取德育 详情 数据 条数
     * @param personName 人名 可能需要到模糊查询
     * @return 返回 德育 人名 条数
     */
    Integer getEducationDetailsCount(@Param("personName") String personName);

    /**
     * 分页查询 用户 德育 详情
     * @param personName 人名
     * @param pageNum 页码
     * @param pageSize 页面大小
     * @return 返回分页 之后的 数据
     */
    List<SmartUserMoralEducationDetailsVO> getEducationDetailsByPage(@Param("personName") String personName,
                                                                     @Param("pageNum") Integer pageNum,
                                                                     @Param("pageSize") Integer pageSize);

    /**
     * 删除学生德育记录
     * @param educationDetailsIds 德育记录 ids
     * @return 返回删除失败成功
     */
    Integer deleteEducationDetails(@Param("ids") String educationDetailsIds);
}

